Source: NOAA’s Climate Divisional Database (nClimDiv), June 2021 release
The Climate Divisional Dataset from the National Center For Environmental Information began as the only long-term temporally and spatially complete dataset from which to generate historical climate analyses (1895-2013) for the contiguous United States (CONUS). It was originally developed for climate division, statewide, regional, national, and population-weighted monitoring of drought, temperature, precipitation, and heating/cooling degree day values.
There are 344 climate divisions in the CONUS. For each climate division, monthly station temperature and precipitation values are computed from the daily observations. The divisional values are weighted by area to compute statewide values and the statewide values are weighted by area to compute regional values. (Karl and Koss, 1984).
The data here is the county data from all the states in the contigous United States. While NOAA includes information on a variety of climate measures, we are focusing on the maximum temperature of the counties of interest.
To Learn More, See:
glimpse(cville_sf1)
## Rows: 756
## Columns: 23
## $ NAME <chr> "Greene", "Greene", "Greene", "Greene", "Greene", "Greene",…
## $ Year <dbl> 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904,…
## $ CNTY_FIPS <chr> "079", "079", "079", "079", "079", "079", "079", "079", "07…
## $ X <dbl> -78.46742, -78.46742, -78.46742, -78.46742, -78.46742, -78.…
## $ Y <dbl> 38.2973, 38.2973, 38.2973, 38.2973, 38.2973, 38.2973, 38.29…
## $ STATE_FIPS <chr> "51", "51", "51", "51", "51", "51", "51", "51", "51", "51",…
## $ FIPS <chr> "51079", "51079", "51079", "51079", "51079", "51079", "5107…
## $ AREA <dbl> 157.0143, 157.0143, 157.0143, 157.0143, 157.0143, 157.0143,…
## $ Jan <dbl> 35.7, 39.5, 38.9, 43.2, 41.9, 42.7, 43.2, 39.1, 40.1, 36.4,…
## $ Feb <dbl> 32.2, 44.6, 44.3, 44.1, 34.5, 42.6, 38.9, 35.6, 47.1, 36.9,…
## $ Mar <dbl> 51.0, 47.6, 56.0, 57.4, 51.3, 49.3, 54.9, 55.1, 59.8, 53.9,…
## $ Apr <dbl> 62.3, 66.4, 64.0, 58.6, 64.7, 64.0, 56.6, 61.6, 62.0, 59.3,…
## $ May <dbl> 70.8, 78.2, 71.6, 74.7, 73.7, 78.0, 71.3, 75.8, 74.8, 73.6,…
## $ Jun <dbl> 83.4, 78.4, 80.0, 83.3, 82.5, 80.1, 79.5, 80.1, 72.8, 78.8,…
## $ Jul <dbl> 79.4, 83.4, 84.5, 85.4, 87.3, 87.8, 85.7, 85.6, 83.9, 81.6,…
## $ Aug <dbl> 84.2, 83.4, 82.8, 81.7, 84.1, 89.9, 79.9, 80.6, 78.6, 79.9,…
## $ Sep <dbl> 82.7, 76.0, 79.4, 78.0, 75.5, 83.4, 73.7, 74.7, 74.5, 76.7,…
## $ Oct <dbl> 62.8, 61.6, 66.7, 64.0, 66.7, 69.3, 66.5, 66.3, 65.3, 67.1,…
## $ Nov <dbl> 54.3, 60.5, 54.2, 50.7, 56.2, 56.8, 48.2, 59.5, 51.0, 52.7,…
## $ Dec <dbl> 44.0, 43.9, 44.7, 43.6, 43.8, 44.6, 41.9, 42.3, 38.8, 40.0,…
## $ Avg_Temp <dbl> 61.90000, 63.62500, 63.92500, 63.72500, 63.51667, 65.70833,…
## $ Fipsyear <dbl> 44079271895, 44079271896, 44079271897, 44079271898, 4407927…
## $ geometry <MULTIPOLYGON [°]> MULTIPOLYGON (((-78.36616 3..., MULTIPOLYGON (…
Observations are county level estimates of…
5-number summaries of (non-missing) numeric variables (remove non-numeric observations)
noaa %>% select(-c(CNTY_FIPS, Fipsyear, Year)) %>%
select(where(~is.numeric(.x) && !is.na(.x))) %>%
as.data.frame() %>%
stargazer(., type = "text", title = "Summary Statistics", digits = 0,
summary.stat = c("mean", "sd", "min", "median", "max"))
##
## Summary Statistics
## ======================================
## Statistic Mean St. Dev. Min Median Max
## --------------------------------------
## Jan 44 5 29 44 58
## Feb 47 5 32 48 61
## Mar 56 5 41 56 70
## Apr 67 3 56 67 75
## May 76 3 67 75 83
## Jun 83 3 73 83 89
## Jul 86 3 79 86 93
## Aug 84 3 75 84 94
## Sep 78 3 70 78 88
## Oct 68 3 59 68 79
## Nov 57 4 47 57 66
## Dec 47 4 33 47 60
## Avg_Temp 66 2 58 66 71
## --------------------------------------
cville_sf1a <-
ggplot(cville_sf1) +
geom_sf(aes(fill = Jul), color = "black", alpha = .9, na.rm = TRUE) +
geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
scale_fill_fermenter(palette = "YlOrRd", direction = 1, type = "seq", n.breaks = 7) +
theme_void() +
guides(fill =
guide_colourbar(title.position="top", title.hjust = 0.5,
barwidth = 1)
) +
labs(fill = "Temperature ", title = 'Year: {frame_time}',
caption = "Maximum Temperature in July for Charlottesville Counties") +
transition_time(as.integer(Year)) +
ease_aes('linear')
animate(cville_sf1a, fps = 1, detail = 1, nframes = 127)
meta %>%
filter(varname == "Jul") %>%
select(about) %>%
as.list()
$about [1] “Monthly Divisional Temperature format (f7.2) Range of values -50.00 to 140.00 degrees Fahrenheit. Decimals retain a position in the 7-character field. Missing values in the latest year are indicated by -99.99. Missing values removed for visualization, resulting in no plots for 2021”
ggplot(cville_sf1_jlg,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Greene County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_jll,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Louisa County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_jln,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Nelson County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_jla,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Albemarle County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_jlc,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Charlottesville County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_jlf,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Fluvanna County July Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
cville_sf1b <-
ggplot(cville_sf1) +
geom_sf(aes(fill = Avg_Temp), color = "black", alpha = .9, na.rm = TRUE) +
geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
scale_fill_fermenter(palette = "BuPu", direction = 1, type = "seq", n.breaks = 6) +
theme_void() +
guides(fill =
guide_colourbar(title.position="top", title.hjust = 0.5,
barwidth = 1)
) +
labs(fill = "Temperature ", title = 'Year: {frame_time}',
caption = "Average Yearly Maximum
Temperature For Charlottesville Counties") +
transition_time(as.integer(Year)) +
ease_aes('linear')
animate(cville_sf1b, fps = 1, detail = 1, nframes = 127)
meta %>%
filter(varname == "Avg_Temp") %>%
select(about) %>%
as.list()
$about [1] “Average yearly temperature for each county. Created by suming the maximum temperature for each month, for each county, and taking the mean. NA’s for months in 2021 not currently available were removed and the mean calculated for the 6 months so far. Missing values removed for visualization, resulting in no plots for 2021”
ggplot(cville_sf1_yrg,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Greene County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_yrl,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Louisa County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_yrn,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Nelson County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_yra,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Albemarle County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_yrc,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Charlottesville County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip
ggplot(cville_sf1_yrf,
aes(x = date, y = 1, fill = ta))+
geom_tile()+
scale_x_date(date_breaks = "6 years",
date_labels = "%Y",
expand = c(0, 0))+
scale_y_continuous(expand = c(0, 0))+
scale_fill_gradientn(colors = rev(col_strip))+
guides(fill = guide_colorbar(barwidth = 1))+
labs(title = "Fluvanna County Yearly Maximum Temperature 1895-2020",
caption = "Data: NOAA Surface Temperature Analysis")+
theme_strip